Metode numerice - Aplicatii

Lucrarea 13.   Metode indirecte pentru rezolvarea ecuatiilor diferentiale ordinare: metode de tip predictor-corector

               

 

Există o serie de aplicaţii practice care presupun studiul unor sisteme sau procese dinamice. În acest caz se urmăreşte stabilirea legii de variaţie a unei funcţii y, care descrie starea sistemului. În general, funcţia y depinde nu numai de una sau mai multe variabile independente x, ci şi de alte valori ale sale anterioare în raport cu una din variabilele independente, astfel spus de stări anterioare ale sistemului. Asemenea probleme conduc la modele matematice descrise de ecuaţii diferenţiale.

          În cazul particular al ecuaţiilor diferenţiale ordinare, orice problemă descrisă de asemenea ecuaţii poate fi redusă la studiul unui sistem de ecuaţii diferenţiale de ordin întâi. De exemplu, ecuaţia de ordinul doi :

                                

poate fi adusă la forma a două ecuaţii diferenţiale de ordinul întâi:

                                  

unde z(x) reprezintă o funcţie sau variabilă dependentă auxiliară. Cea mai la îndemână soluţie de alegere a funcţiilor auxiliare z(x) constă în definirea lor ca derivate ale funcţiei originare y(x) sau ale funcţiilor auxiliare z(x) precedente în succesiunea substituţiilor de tip (8.2). Prin urmare, problema originară a ecuaţiilor diferenţiale ordinare poate fi redusă, în general, la analiza unui sistem de n ecuaţii diferenţiale de ordin întâi scris pentru n funcţii yi(x), i=1,...,n sub forma:

                 

unde funcţiile fi descriu forme în general neliniare în variabila independentă x şi cele n variabile dependente yi.

În general, acest sistem de ecuaţii diferenţiale ordinare  admite o infinitate de soluţii. Pentru particularizarea uneia dintre acestea, care să reprezinte soluţia problemei studiate, este necesar ca ecuaţiilor să li se asocieze o serie de condiţii specifice problemei respective. Aceste condiţii impun de regulă valori pentru funcţiile yi(x) în anumite puncte bine specificare. Poziţia acestor puncte în domeniul variabilei x pentru care se studiază procesul determină tipul de problemă şi deseori chiar şi metoda de rezolvare ce trebuie folosită.

 

Se considera problema numita cu condiţii iniţiale pentru care se indică valorile funcţiilor yi(x) într-un punct de referinţă xR, considerat ca origine a procesului. Din considerente legate de simplificarea notaţiilor folosite şi pentru o mai bună înţelegere a mecanismelor ce guvernează diferitele metode numerice specifice, problema cu condiţii iniţiale va fi prezentată pentru cazul particular al ecuaţiilor diferenţiale de ordin întâi  (problema Cauchy) de forma

şi condiţiei iniţiale:

Pentru forme relativ simple ale ecuaţiei prezentate,, problema Cauchy admite o rezolvare analitică, care are avantajul de a determina în formă explicită legea de variaţie a funcţiei y  cu variabila independentă x. Numeroase aplicaţii practice conduc la ecuaţii diferenţiale cu o formă complexă a expresiilor ce definesc derivata  dy/dx. Mai mult decât atât, uneori nici măcar nu avem la dispoziţie asemenea expresii, ci doar valori ale lor în anumite puncte. Din aceste motive, rezolvarea problemei (8.4) -(8.5) se face pe cale numerică, cu metode special dezvoltate în acest scop.

          Ideea care stă la baza tuturor metodelor numerice de rezolvare a ecuaţiilor diferenţiale ordinare cu condiţii iniţiale este următoarea: notaţiile dy şi dx se înlocuiesc cu creşterile finite Dy şi Dx. Se obţine astfel o expresie algebrică care permite calculul variaţiei funcţiei y(x) la modificarea variabilei independente x cu un pas Dx. Aproximaţia numerică obţinută pe această cale se va apropia cu atât mai mult de soluţia exactă cu cât pasul Dx va fi mai mic.

          Metodele numerice de rezolvare a unei ecuaţii diferenţiale  pornesc din punctul (x0, y0) precizat de condiţia iniţială şi, avansând cu pasul Dx, determină un şir de puncte (xk, yk), k=1, 2,... care descriu sub formă numerică soluţia problemei.

 

Dupa cum arata si numele lor, metodele predictor–corector folosesc doua formule: (i) o formula de prezicere, care ofera o estimatie initiala a solutiei yk si (ii) o formula de corectie, care asigura imbunatatirea solutiei yk calculata cu formula anterioara. In majoritatea cazurilor, pentru fiecare punct de calcul (xk, yk) formula predictor se aplica o singura data, in timp ce formula corector se poate aplica de mai multe ori, in mod iterativ, pana la atingerea unei precizii dorite.

          Estimatia initiala se calculeaza folosind o metoda explicita directa (de exemplu metoda Runge–Kutta ) sau indirecta de acelasi ordin cu metoda implicita aplicata in etapa corector.

 

 


Algoritmul 1 – Metode predictor-corector


 

1.    Definirea ecuatiei diferentiale de ordin intai, prin functia f(x,y), a conditiei initiale y(x0)=y0, a pasului de integrare h si a numarului de puncte de calcul n.

2.    Precizarea ordinului K al metodei predictor-corector folosite, a preciziei de calcul cu formula corector Eps si a numarului maxim de iteratii Nmax.

3.    Aplicarea a K-1 pasi folosind o metoda directa pentru demararea algoritmului. Se calculeaza aproximatiile y1, y2,...,yK-1.

4.    Etapa predictor-corector:

4.1 Stabilirea punctului de calcul: k¬K-1;

4.2 Aplicarea formulei predictor: yk+1 ¬ P(xk, yk, xk-1, yk-1, ... , xk-K+1, yk-K+1)

4.3 Procesul iterativ al formulei corector (It ¬ 0) :

4.3.1 Trecerea la o noua iteratie: It ¬ It+1;

4.3.2 Memorarea aproximatiei curente: yt ¬ yk+1;

4.3.3 Aplicarea formulei corector: yk+1 ¬ C(xk+1, yk+1, xk, yk, ... , xk-K+2, yk-K+2)

4.3.4 Abaterea  intre  aproximatiile  din  ultimele doua  iteratii: E¬çyk+1-ytú ;

4.3.5 Criteriul de oprire: daca It < Nmax si E > Eps, se revine la pasul 4.3.1. 

          In caz contrar se intrerupe bucla iterativa si se trece la pasul 4.4.

4.4 Daca k < n, se trece la urmatorul punct de calcul (k ¬ k+1) si se revine la

      pasul 4.2. In caz contrar se trece la pasul 5.

5.    Solutia aproximativa se gaseste in vectorii x si y.

 


 

 

          In continuare se indica perechile de formule folosite pentru cateva metode predictor – corector, impreuna cu ordinul  erorii de trunchiere asociate acestora:

 

 

          In general, metodele predictor–corector se caracterizeaza prin performante superioare celor ale metodelor explicite de acelasi ordin. Aceste performante se traduc printr-o precizie si o stabilitate numerica mai buna, dar timpul de calcul creste ca urmare a cresteri numarului de evaluari ale functiilor f(x,y) in formula corector.

 

   Aplicatii - Lista lucrarilor de laborator